#import <UIKit/UIKit.h>

@class MXPullDownMenu;

//指示器状态，表格是否展开
typedef enum
{
    IndicatorStateShow = 0,
    IndicatorStateHide
}
IndicatorStatus;

//背景视图是否显示，起遮盖效果
typedef enum
{
    BackGroundViewStatusShow = 0,
    BackGroundViewStatusHide
}
BackGroundViewStatus;

@protocol MXPullDownMenuDelegate <NSObject>

/**
 下拉菜单中选中哪个

 @param pullDownMenu MXPullDownMenu
 @param column 列
 @param row 行
 */
- (void)PullDownMenu:(MXPullDownMenu *)pullDownMenu didSelectRowAtColumn:(NSInteger)column row:(NSInteger)row;

@end

@interface MXPullDownMenu : UIView<UITableViewDelegate, UITableViewDataSource>

/**
 初始化下拉菜单

 @param array 下拉菜单数据源
 @param color 选中颜色
 @return MXPullDownMenu
 */
- (MXPullDownMenu *)initWithArray:(NSArray *)array selectedColor:(UIColor *)color;

/**
 重置菜单
 */
- (void)reSetTitle;

@property (nonatomic,weak) id<MXPullDownMenuDelegate> delegate;

@property(nonatomic,assign)BOOL isNeedCancleSelected;//default is false 控制级联效果，true可以多选

@end

// CALayerCategory
@interface CALayer (MXAddAnimationAndValue)

- (void)addAnimation:(CAAnimation *)anim andValue:(NSValue *)value forKeyPath:(NSString *)keyPath;

@end
